// const path = require('path') 没有用到 prettier 会报错
// commonJS 导出的格式 - commonJS 模块化规范，看官网关于 vue.config.js 的可配置项
module.exports = {
  // 配置方式一：vue cli 提供的配置方式，属性名称可能和 webpack 不一致
  // outputDir: './build', // 自定义输出目录
  //publicPath: './',

  // 配置方式二：和 webpack 的属性完全一致。此处是将自定义的配置合并到 webpack 默认的配置中
  //            所以可以选择性配置自己需要的属性
  configureWebpack: {
    // 这里会被合并到 webpack 的配置中
    devServer: {
      proxy: {
        '^/api': {
          changeOrigin: true,
          // target: 'http://localhost:7073/atoolsbe',
          target: 'https://www.xdfznh.club/atoolsbe',
          // target: 'http://localhost:7073/atoolsbe',
          pathRewrite: {
            '^/api': ''
          }
        }
      }
    },
    resolve: {
      alias: {
        components: '@/component' // webpack 默认配置 @ 为项目的 src
      }
    }
  }

  // 配置方式三：函数方式覆盖 webpack 原配置。由于是覆盖，此处必须设置 @ ，否则之后的子组件中无法使用 @
  // configureWebpack: (config) => {
  //   config.resolve.alias = {
  //     '@': path.resolve(__dirname, 'src'),
  //     components: '@/components'
  //   }
  // }

  // 配置方式四：链式调用
  // chainWebpack: (config) => {
  //   config.resolve.alias
  //     .set('@', path.resolve(__dirname, 'src'))
  //     .set('components', '@/components')
  //     .set('views', '@/views')
  //     .set('publicPath', './') // 编译后的 index.html 中引用文件默认使用 / 开头，即绝对路径，即项目访问地址的根目录下，此处修改为项目所在的根目录
  // }
}
